package org.slusk.thynwor.feedback;

import org.slusk.thynwor.corestructures.Drone;
import org.slusk.thynwor.corestructures.Drone.MoveOrder;
import org.slusk.thynwor.corestructures.Environment;
import org.slusk.thynwor.util.Coordinates;

import sun.reflect.generics.reflectiveObjects.NotImplementedException;

import com.anji.hyperneat.nd.NDFloatArray;
import com.anji.hyperneat.onlinereinforcement.trainingbank.Feedback;
import com.anji.hyperneat.onlinereinforcement.trainingbank.TrainingSample;

/**
 * Only for providing feedback to the environment; nothing for online reinforcement.
 * @author slusk
 *
 */
public class BaseFeedbackProvider extends AbstractFeedbackProvider {

	public BaseFeedbackProvider(Environment environment) {
		super(environment);
	}

	@Override
	public Feedback getFeedback(Drone bot, MoveOrder mo, NDFloatArray inputs, Coordinates outputCoords, NDFloatArray outputs) {
		return null; 
	}


	@Override
	public void convertTrainingSampleToReinforcement(ThynworTrainingSample sample, float weight) {
		throw new NotImplementedException();
		
	}

	@Override
	public void convertTrainingSampleToPunishment(ThynworTrainingSample sample) {
		throw new NotImplementedException();
		
	}
}
